perm filename PLOTS.FAI[SYS,HE] blob
sn#004160 filedate 1972-06-29 generic text, type T, neo UTF8
00100 TITLE PLOTS
00200 ;THESE ARE THE PLOT ROUTINES FOR THE CALCOMP PLOTTER
00300 ;THE CALLING SEQUENCE IS ASSUMED TO BE THE SAME AS THAT
00400 ;USED BY FORTRAN IV.
00500 PENUP←40
00600 PENDWN←20
00700 MVLFT←2
00800 MVRT←1
00900 MVDWN←10
01000 MVUP←4
01100 EXTERNAL DOPLT,JOBFF
01200 REF←←-1
01300 INTERNAL SETXY,REF
01400 SETXY: 0
01500 HRREM 1,Y
01600 HLREM 1,X
01700 JRA 16,(16)
01800
01900 ;PLOTS IS THE ROUTINE WHICH INITIALIZES EVERYTHING
02000 INTERNAL PLOTS↔PLOTS: 0
02100 SKIPN DOPLT
02200 JRST NOINIT
02300 INIT 17,10 ;17 SO AS NOT TO INTERFERE WITH F4
02400 SIXBIT /PTP/ ;CALCOMP REPLACES PTP
02500 XWD POB,0
02600 JRST FOOP ;ERROR RETURN
02700 NOINIT: SETZM X# ;INITIALIZE X,Y TO 0 PEN TO UP
02800 SETZM Y#
02900 SETZM PEN# ;0 IS UP, 1 DOWN
03000 SKIPN DOPLT
03100 JRST NOUT
03102 MOVEI 1,PLT..
03104 EXCH 1,JOBFF
03200 OUTBUF 17,3
03202 MOVEM 1,JOBFF
03300 OUTPUT 17,0
03400 NOUT: SETZM @(16) ;SETS PARAMETER TO 0 IF OK
03500 JRA 16,1(16)
03600 FOOP: SETOM @(16) ;ELSE TO -1
03700 JRA 16,1(16)
03750 PLT..: BLOCK 1000
03800 INTERNAL PLOT↔PLOT: 0
03900 ;PLOT HAS X,Y,PEN AS PARAMETERS. PEN HAS CODES: 1 SAME
04000 ;2 DOWN 3 UP. IF CODE IS MINUS CLEAR BUFFER RESET X,Y TO 0.
04100 MOVEM 16,SV16 ;SAVE RETURN
04200 MOVE 16,@(16) ;GET ARGUMENTS
04300 MOVEM 16,SVX#
04400 MOVE 16,SV16
04500 MOVE 16,@1(16)
04600 MOVEM 16,SVY#
04700 MOVE 16,SV16
04800 MOVE 16,@2(16)
04900 MOVEM 16,SVPEN#
05000 MOVE 16,SV16
05100 MOVEM 17,SV17 ;NOW SAVE ACS
05200 MOVEI 17,SV0
05300 BLT 17,SV0+16
05400 MOVM 2,SVPEN ;GET ABS OF PEN CODE
05500 CAIN 2,1 ;SEE IF IT NEEDS CHANGING
05600 JRST PENOK
05700 SUBI 2,3
05800 CAMN 2,PEN
05900 JRST PENOK
06000 MOVEI 17,PENUP ;IT DOES, DECIDE HOW
06100 SKIPGE 2
06200 MOVEI 17,PENDWN
06300 MOVEI 16,=60 ;PEN MOVES SLOWLY, THIS IS HOW LONG
06400 JSR PLT1 ;TO WAIT
06500 SOJG 16,.-1
06600 PENOK: MOVEM 2,PEN ;SAVE CURRENT STATUS
06700 MOVE 0,SVX
06800 MOVE 1,SVY
06900 SUB 0,X ;GET X DIFFERENCE
07000 SETZM 16 ;16 WILL HAVE THE X CODE TO USE
07100 SKIPG 0 ;EITHER RIGHT, LEFT OR NONE
07200 MOVEI 16,MVLFT
07300 SKIPL 0
07400 MOVEI 16,MVRT
00100 SETZM 15 ;NOW THE SAME FOR Y AND 15
00200 SUB 1,Y
00300 SKIPG 1
00400 MOVEI 15,MVDWN
00500 SKIPL 1
00600 MOVEI 15,MVUP
00700 MOVMS 1 ;GET MAGNITUDES OF X AND Y CHANGES
00800 MOVMS 0
00900 CAMG 1,0 ;FIND GREATEST
01000 JRST NOEX
01100 EXCH 1,0 ;AND GET IT IN AC 0
01200 EXCH 15,16 ;AND MOVEMENT CODE IN AC 16
01300 NOEX: JUMPE ENDOUT-5 ;SPECIAL CHECK FOR NO MOVEMENT
01400 JUMPE 1,NORM
01500 MOVEI 3,0 ;NOW CONVERT TO
01600 NY: TLNE 1,200000 ;SHIFT SMALLER LEFT AS FAR AS POSSIBLE
01700 JRST NX
01800 LSH 1,1
01900 TRO 1,1
02000 AOJA 3,NY
02100 NX: SUBI 3,=34
02200 MKSC: IDIV 1,0 ;NOW DIVIDE BY LARGER
02300 MOVNS 3 ;GET REMAINING SHIFT AMOUNT
02400 LSH 1,(3) ;SHIFT THAT AMOUNT
02500 NORM: MOVEM 1,STEP# ;SAVE MAGIC NUMBER
02600 SETZM 1 ;ZERO AC 1
02700 IOR 15,16 ;WILL EITHER TAKE BOTH STEPS OR ONE FOR
02800 ;LARGER NUMBER
00100 INLOOP: ADD 1,STEP ;ADD AND CHECK FOR OVERFLOW
00200 MOVE 17,16 ;ON NO OVERFLOW USE ONLY INC IN LARGEST
00300 ;DIRECTION
00400 TLZE 1,200000 ;OVERFLOW CHECK AND CLEAR
00500 MOVE 17,15 ;OTHERWISE STEP IN BOTH DIRECTIONS
00600 JSR PLT1 ;ISSUE PLOT COMMAND
00700 SOJG INLOOP ;COUNT DOWN ON LARGER INCREMENT
00800 MOVE 1,SVX
00900 MOVEM 1,X ;RESET CURRENT X AND Y POSITIONS
01000 MOVE 1,SVY
01100 MOVEM 1,Y
01200 SKIPL SVPEN ;SHOULD WE FORCE OUTPUT AND RESET X Y
01300 JRST ENDOUT
01400 SKIPE DOPLT
01500 OUTPUT 17,0
01600 SETZM X
01700 SETZM Y
01800 ENDOUT: HRLZI 17,SV0 ;RESTORE AC'S
01900 BLT 17,16
02000 MOVE 17,SV17
02100 JRA 16,3(16)
02200 INTERNAL PLT1↔PLT1: 0 ;ROUTINE TO PUT THINGS IN OUTPUT BUFFER
02300 SKIPN DOPLT
02400 JRST @PLT1
02500 SOSG POB+2
02600 OUT 17,
02700 CAIA
02800 HALT .+1
02900 IDPB 17,POB+1
03000 JRST @PLT1
03100 POB: BLOCK 3 ;DEVICE BLOCK
03200 SV0: BLOCK 17 ;AC STORAGE
03300 SV17: 0
03400 SV16: 0
00100 ;FORMAT OF CHARACTER TABLE IS: LEFT HALF, NUMBER OF LINE
00200 ;SEGMENTS IN CHARACTER. RIGHT HALF, ADDRESS OF BYTE TABLE
00300 ;DESCRIBING SEGMENTS
00400 TBL1: XWD 0,0 ;CHARACTER TABLE
00500 XWD 6,T11
00600 XWD 11,T12
00700 XWD 17,T13
00800 XWD 4,T14
00900 XWD 4,T15
01000 XWD 13,T16
01100 XWD 7,T17
01200 XWD 5,T110
01300 XWD 13,T111
01400 XWD 15,T112
01500 XWD 11,T113
01600 XWD 7,T114
01700 XWD 16,T115
01800 XWD 14,T116
01900 XWD 14,T117
02000 XWD 7,T120
02100 XWD 7,T121
02200 XWD 7,T122
02300 XWD 7,T123
02400 XWD 11,T124
02500 XWD 6,T125
02600 XWD 15,T126
02700 XWD 11,T127
02800 XWD 3,T130
02900 XWD 6,T131
03000 XWD 5,T132
03100 XWD 6,T133
03200 XWD 5,T134
03300 XWD 5,T135
03400 XWD 7,T136
03500 XWD 4,T137
03600 XWD 1,T140
03700 XWD 5,T141
03800 XWD 5,T142
03900 XWD 11,T143
04000 XWD 17,T144
04100 XWD 23,T145
04200 XWD 14,T146
04300 XWD 3,T147
00100 XWD 5,T150
00200 XWD 4,T151
00300 XWD 11,T152
00400 XWD 5,T153
00500 XWD 5,T154
00600 XWD 3,T155
00700 XWD 6,T156
00800 XWD 2,T157
00900 XWD 14,T160
01000 XWD 4,T161
01100 XWD 13,T162
01200 XWD 12,T163
01300 XWD 5,T164
01400 XWD 13,T165
01500 XWD 13,T166
01600 XWD 6,T167
01700 XWD 21,T170
01800 XWD 13,T171
01900 XWD 13,T172
02000 XWD 12,T173
02100 XWD 4,T174
02200 XWD 5,T175
02300 XWD 4,T176
02400 XWD 11,T177
02500 XWD 23,T1100
02600 XWD 11,T1101
02700 XWD 14,T1102
02800 XWD 11,T1103
02900 XWD 7,T1104
03000 XWD 10,T1105
03100 XWD 6,T1106
03200 XWD 13,T1107
03300 XWD 6,T1110
03400 XWD 7,T1111
03500 XWD 10,T1112
03600 XWD 7,T1113
03700 XWD 4,T1114
03800 XWD 5,T1115
03900 XWD 6,T1116
04000 XWD 12,T1117
00100 XWD 7,T1120
00200 XWD 14,T1121
00300 XWD 11,T1122
00400 XWD 13,T1123
00500 XWD 5,T1124
00600 XWD 7,T1125
00700 XWD 6,T1126
00800 XWD 6,T1127
00900 XWD 10,T1130
01000 XWD 6,T1131
01100 XWD 7,T1132
01200 XWD 5,T1133
01300 XWD 3,T1134
01400 XWD 5,T1135
01500 XWD 6,T1136
01600 XWD 6,T1137
01700 XWD 3,T1140
01800 XWD 16,T1141
01900 XWD 12,T1142
02000 XWD 11,T1143
02100 XWD 14,T1144
02200 XWD 13,T1145
02300 XWD 10,T1146
02400 XWD 16,T1147
02500 XWD 7,T1150
02600 XWD 7,T1151
02700 XWD 7,T1152
02800 XWD 6,T1153
02900 XWD 3,T1154
03000 XWD 14,T1155
03100 XWD 7,T1156
03200 XWD 12,T1157
03300 XWD 13,T1160
03400 XWD 13,T1161
03500 XWD 6,T1162
03600 XWD 13,T1163
03700 XWD 10,T1164
03800 XWD 10,T1165
03900 XWD 4,T1166
04000 XWD 6,T1167
00100 XWD 4,T1170
00200 XWD 6,T1171
00300 XWD 5,T1172
00400 XWD 10,T1173
00500 XWD 3,T1174
00600 XWD 11,T1175
00700 XWD 10,T1176
00800 XWD 3,T1177
00900 RADIX =10
01000 ;FORMAT OF BYTE TABLE: BYTE COME IN TRIPLES. FIRST IS
01100 ;0 FOR PEN UP, 1 PEN DOWN. SECOND IS X COORDINATE OF OTHER
01200 ;END OF SEGMENT. THIRD IS SAME FOR Y. CHARACTER ASSUMED
01300 ;TO START AT (0,6)
01400 T11: BYTE (5) 0,0,9,1,3,6,1,3,14,0,3,6,1,6,9,0,8,6
01500 T12: BYTE (5) 0,6,6,1,3,9,1,1,9,1,0,8,1,0,7,1,1,6,1,3,6
01600 BYTE (5) 1,6,9,0,8,6
01700 T13: BYTE (5) 1,2,8,1,2,13,1,3,14,1,5,14,1,6,13,1,6,12,1,5,11
01800 BYTE (5) 1,2,11,0,5,11,1,6,10,1,6,9,1,5,8,1,3,8,1,2,9
01900 BYTE (5) 0,8,6
02000 T14: BYTE (5) 0,0,8,1,3,11,1,6,8,0,8,6
02100 T15: BYTE (5) 0,0,10,1,6,10,1,6,7,0,8,6
02200 T16: BYTE (5) 0,3,9,1,2,10,1,1,10,1,0,9,1,0,7,1,1,6,1,2,6
02300 BYTE (5) 1,3,7,0,2,8,1,0,8,0,8,6
02400 T17: BYTE (5) 0,0,10,1,6,10,0,4,10,1,4,6,0,2,6,1,2,10,0,8,6
02500 T110: BYTE (5) 1,3,9,0,0,11,1,1,11,1,6,6,0,8,6
02600 T111: BYTE (5) 0,0,11,1,1,12,1,2,12,1,5,9,1,5,7,1,4,6,1,3,6
02700 BYTE (5) 1,2,7,1,2,8,1,6,12,0,8,6
02800 T112: BYTE (5) 0,2,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6,1,4,7
02900 BYTE (5) 1,4,9,1,3,10,1,2,10,1,2,12,1,4,12,0,8,6
03000 T113: BYTE (5) 0,0,7,1,1,6,1,2,6,1,3,7,1,3,12,1,4,13,1,5,13
03100 BYTE (5) 1,6,12,0,8,6
03200 T114: BYTE (5) 0,0,9,1,4,9,0,2,11,1,2,7,0,0,7,1,4,7,0,8,6
03300 T115: BYTE (5) 0,0,8,1,0,7,1,1,6,1,3,6,1,4,7,1,4,9,1,3,10
03400 BYTE (5) 1,1,10,1,0,9,1,0,8,1,4,8,0,2,10,1,2,6,0,8,6
03500 T116: BYTE (5) 0,0,10,1,1,9,1,2,9,1,4,11,1,5,11,1,6,10,1,5,9
03600 BYTE (5) 1,4,9,1,2,11,1,1,11,1,0,10,0,8,6
03700 T117: BYTE (5) 0,4,8,1,3,9,1,1,9,1,0,8,1,0,7,1,1,6,1,3,6
03800 BYTE (5) 1,4,7,1,4,10,1,2,12,1,1,12,0,8,6
03900 T120: BYTE (5) 0,3,11,1,1,11,1,0,10,1,0,8,1,1,7,1,3,7,0,8,6
04000 T121: BYTE (5) 0,0,11,1,2,11,1,3,10,1,3,8,1,2,7,1,0,7,0,8,6
04100 T122: BYTE (5) 0,0,10,1,0,8,1,1,7,1,3,7,1,4,8,1,4,10,0,8,6
04200 T123: BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,0,8,6
04300 T124: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,0,10
04400 BYTE (5) 1,6,10,0,8,6
04500 T125: BYTE (5) 1,6,6,1,6,14,1,0,14,0,2,10,1,6,10,0,8,6
04600 T126: BYTE (5) 1,4,10,0,0,10,1,4,6,0,3,6,1,1,6,1,0,7,1,0,9
00100 BYTE (5) 1,1,10,1,3,10,1,4,9,1,4,7,1,3,6,0,8,6
00200 T127: BYTE (5) 0,2,8,1,0,10,1,2,12,0,0,10,1,6,10,0,4,12,1,6,10
00300 BYTE (5) 1,4,8,0,8,6
00400 T130: BYTE (5) 0,0,5,1,6,5,0,8,6
00500 T131: BYTE (5) 0,0,10,1,6,10,0,3,13,1,6,10,1,3,7,0,8,6
00600 T132: BYTE (5) 0,0,12,1,2,14,1,4,12,1,6,14,0,8,6
00700 T133: BYTE (5) 1,6,12,0,0,10,1,6,10,0,0,8,1,6,8,0,8,6
00800 T134: BYTE (5) 1,3,6,0,3,7,1,0,10,1,3,13,0,8,6
00900 T135: BYTE (5) 1,3,6,0,0,7,1,3,10,1,0,13,0,8,6
01000 T136: BYTE (5) 0,0,7,1,6,7,0,6,9,1,0,9,0,0,11,1,6,11,0,8,6
01100 T137: BYTE (5) 0,0,11,1,3,8,1,6,11,0,8,6
01200 T140: BYTE (5) 0,8,6
01300 T141: BYTE (5) 0,2,6,1,2,7,0,2,8,1,2,13,0,8,6
01400 T142: BYTE (5) 0,2,12,1,2,14,0,4,14,1,4,12,0,8,6
01500 T143: BYTE (5) 0,2,7,1,2,13,0,4,13,1,4,7,0,6,9,1,0,9,0,0,11
01600 BYTE (5) 1,6,11,0,8,6
01700 T144: BYTE (5) 0,0,8,1,2,6,1,4,6,1,6,8,1,4,10,1,2,10,1,0,12
01800 BYTE (5) 1,2,14,1,4,14,1,6,12,0,4,14,1,4,6,0,2,6,1,2,14
01900 BYTE (5) 0,8,6
02000 T145: BYTE (5) 1,6,12,1,1,12,1,0,11,1,0,10,1,1,9,1,2,9,1,3,10
02100 BYTE (5) 1,3,11,1,2,12,0,4,9,1,3,8,1,3,7,1,4,6,1,5,6
02200 BYTE (5) 1,6,7,1,6,8,1,5,9,1,4,9,0,8,6
02300 T146: BYTE (5) 0,6,6,1,1,11,1,1,13,1,2,14,1,3,14,1,4,13,1,0,9
02400 BYTE (5) 1,0,7,1,1,6,1,3,6,1,5,8,0,8,6
02500 T147: BYTE (5) 0,2,12,1,4,14,0,8,6
02600 T150: BYTE (5) 0,2,6,1,0,8,1,0,12,1,2,14,0,8,6
02700 T151: BYTE (5) 1,2,8,1,2,12,1,0,14,0,8,6
02800 T152: BYTE (5) 0,0,8,1,4,12,0,2,12,1,2,8,0,4,8,1,0,12,0,0,10
02900 BYTE (5) 1,4,10,0,8,6
03000 T153: BYTE (5) 0,2,7,1,2,11,0,0,9,1,4,9,0,8,6
03100 T154: BYTE (5) 0,0,7,1,1,6,1,1,5,1,0,4,0,8,6
03200 T155: BYTE (5) 0,0,9,1,4,9,0,8,6
03300 T156: BYTE (5) 0,2,6,1,3,6,1,3,7,1,2,7,1,2,6,0,8,6
03400 T157: BYTE (5) 1,6,12,0,8,6
03500 T160: BYTE (5) 0,0,7,1,6,13,0,6,12,1,4,14,1,2,14,1,0,12,1,0,8
03600 BYTE (5) 1,2,6,1,4,6,1,6,8,1,6,12,0,8,6
03700 T161: BYTE (5) 0,1,12,1,3,14,1,3,6,0,8,6
03800 T162: BYTE (5) 0,0,13,1,1,14,1,4,14,1,6,12,1,6,11,1,5,10,1,2,10
03900 BYTE (5) 1,0,8,1,0,6,1,6,6,0,8,6
04000 T163: BYTE (5) 0,0,14,1,6,14,1,6,12,1,4,10,1,5,10,1,6,9,1,6,7
04100 BYTE (5) 1,5,6,1,0,6,0,8,6
00100 T164: BYTE (5) 0,5,6,1,5,14,1,0,9,1,6,9,0,8,6
00200 T165: BYTE (5) 0,0,7,1,1,6,1,4,6,1,6,8,1,6,9,1,5,10,1,1,10
00300 BYTE (5) 1,0,9,1,0,14,1,6,14,0,8,6
00400 T166: BYTE (5) 0,0,9,1,1,10,1,5,10,1,6,9,1,6,7,1,5,6,1,1,6
00500 BYTE (5) 1,0,7,1,0,10,1,4,14,0,8,6
00600 T167: BYTE (5) 1,3,9,1,3,10,1,6,13,1,6,14,1,0,14,0,8,6
00700 T170: BYTE (5) 0,1,10,1,0,9,1,0,7,1,1,6,1,5,6,1,6,7,1,6,9
00800 BYTE (5) 1,5,10,1,6,11,1,6,13,1,5,14,1,1,14,1,0,13,1,0,11
00900 BYTE (5) 1,1,10,1,5,10,0,8,6
01000 T171: BYTE (5) 0,2,6,1,6,10,1,6,13,1,5,14,1,1,14,1,0,13,1,0,11
01100 BYTE (5) 1,1,10,1,5,10,1,6,11,0,8,6
01200 T172: BYTE (5) 0,2,6,1,3,6,1,3,7,1,2,7,1,2,6,0,2,10,1,3,10
01300 BYTE (5) 1,3,11,1,2,11,1,2,10,0,8,6
01400 T173: BYTE (5) 0,2,7,1,3,6,1,3,5,1,2,4,0,2,10,1,3,10,1,3,11
01500 BYTE (5) 1,2,11,1,2,10,0,8,6
01600 T174: BYTE (5) 0,3,7,1,0,10,1,3,13,0,8,6
01700 T175: BYTE (5) 0,0,8,1,6,8,0,6,10,1,0,10,0,8,6
01800 T176: BYTE (5) 0,0,7,1,3,10,1,0,13,0,8,6
01900 T177: BYTE (5) 0,0,13,1,1,14,1,2,13,1,2,12,1,1,11,1,1,8,0,1,7
02000 BYTE (5) 1,1,6,0,8,6
02100 T1100: BYTE (5) 0,1,6,1,0,7,1,0,11,1,1,12,1,5,12,1,6,11,1,6,8
02200 BYTE (5) 1,5,7,1,4,8,1,4,11,0,4,10,1,3,11,1,2,11,1,1,10
02300 BYTE (5) 1,1,9,1,2,8,1,3,8,1,4,9,0,8,6
02400 T1101: BYTE (5) 1,0,12,1,2,14,1,4,14,1,6,12,1,6,9,1,0,9,1,6,9
02500 BYTE (5) 1,6,6,0,8,6
02600 T1102: BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,1,5,10
02700 BYTE (5) 1,6,9,1,6,7,1,5,6,1,0,6,0,8,6
02800 T1103: BYTE (5) 0,6,13,1,5,14,1,2,14,1,0,12,1,0,8,1,2,6,1,5,6
02900 BYTE (5) 1,6,7,0,8,6
03000 T1104: BYTE (5) 1,0,14,1,4,14,1,6,12,1,6,8,1,4,6,1,0,6,0,8,6
03100 T1105: BYTE (5) 0,6,6,1,0,6,1,0,10,1,4,10,1,0,10,1,0,14,1,6,14
03150 BYTE (5) 0,8,6
03200 T1106: BYTE (5) 1,0,10,1,4,10,1,0,10,1,0,14,1,6,14,0,8,6
03300 T1107: BYTE (5) 0,6,13,1,5,14,1,2,14,1,0,12,1,0,8,1,2,6,1,4,6
03400 BYTE (5) 1,6,8,1,6,10,1,4,10,0,8,6
03500 T1110: BYTE (5) 1,0,14,1,0,10,1,6,10,1,6,14,1,6,6,0,8,6
03600 T1111: BYTE (5) 0,1,6,1,5,6,1,3,6,1,3,14,1,1,14,1,5,14,0,8,6
03700 T1112: BYTE (5) 0,1,7,1,2,6,1,3,6,1,4,7,1,4,14,1,2,14,1,6,14
03800 BYTE (5) 0,8,6
03900 T1113: BYTE (5) 0,1,6,1,1,14,1,1,10,1,5,14,1,1,10,1,5,6,0,8,6
04000 T1114: BYTE (5) 0,0,14,1,0,6,1,6,6,0,8,6
04100 T1115: BYTE (5) 1,0,14,1,3,11,1,6,14,1,6,6,0,8,6
04200 T1116: BYTE (5) 1,0,14,1,0,13,1,6,7,1,6,6,1,6,14,0,8,6
04300 T1117: BYTE (5) 0,0,8,1,0,12,1,2,14,1,4,14,1,6,12,1,6,8,1,4,6
04400 BYTE (5) 1,2,6,1,0,8,0,8,6
04500 T1120: BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,0,8,6
04600
04700 T1121: BYTE (5) 0,0,8,1,0,12,1,2,14,1,4,14,1,6,12,1,6,8,1,4,6
04800 BYTE (5) 1,2,6,1,0,8,0,4,8,1,6,6,0,8,6
00100 T1122: BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,1,2,10
00200 BYTE (5) 1,6,6,0,8,6
00300 T1123: BYTE (5) 0,0,8,1,2,6,1,4,6,1,6,8,1,4,10,1,2,10,1,0,12
00400 BYTE (5) 1,2,14,1,4,14,1,6,12,0,8,6
00500 T1124: BYTE (5) 0,3,6,1,3,14,1,0,14,1,6,14,0,8,6
00600 T1125: BYTE (5) 0,0,14,1,0,7,1,1,6,1,5,6,1,6,7,1,6,14,0,8,6
00700 T1126: BYTE (5) 0,0,14,1,0,9,1,3,6,1,6,9,1,6,14,0,8,6
00800 T1127: BYTE (5) 0,0,14,1,0,6,1,3,9,1,6,6,1,6,14,0,8,6
00900 T1130: BYTE (5) 1,0,7,1,6,13,1,6,14,0,0,14,1,0,13,1,6,7,1,6,6,0,8,6
01000 T1131: BYTE (5) 0,0,14,1,3,11,1,6,14,1,3,11,1,3,6,0,8,6
01100 T1132: BYTE (5) 0,0,14,1,6,14,1,6,13,1,0,7,1,0,6,1,6,6,0,8,6
01200 T1133: BYTE (5) 0,3,4,1,0,4,1,0,14,1,3,14,0,8,6
01300 T1134: BYTE (5) 0,0,12,1,6,6,0,8,6
01400 T1135: BYTE (5) 0,0,4,1,3,4,1,3,14,1,0,14,0,8,6
01500 T1136: BYTE (5) 0,0,11,1,3,14,1,6,11,0,3,14,1,3,6,0,8,6
01600 T1137: BYTE (5) 0,3,7,1,0,10,1,3,13,0,0,10,1,6,10,0,8,6
01700 T1140: BYTE (5) 0,2,14,1,4,12,0,8,6
01800 T1141: BYTE (5) 0,0,9,1,1,10,1,3,10,1,4,9,1,4,6,0,4,8,1,3,9
01900 BYTE (5) 1,1,9,1,0,8,1,0,7,1,1,6,1,3,6,1,4,7,0,8,6
02000 T1142: BYTE (5) 1,0,13,0,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
02100 BYTE (5) 1,1,6,1,0,7,0,8,6
02200 T1143: BYTE (5) 0,4,9,1,3,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6
02300 BYTE (5) 1,4,7,0,8,6
02400 T1144: BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
02500 BYTE (5) 1,1,6,1,0,7,0,4,6,1,4,13,0,8,6
02600 T1145: BYTE (5) 0,4,7,1,3,6,1,1,6,1,0,7,1,0,9,1,1,10,1,3,10
02700 BYTE (5) 1,4,9,1,4,8,1,0,8,0,8,6
02800 T1146: BYTE (5) 0,2,6,1,2,12,1,3,13,1,4,13,1,5,12,0,0,11,1,4,11
02900 BYTE (5) 0,8,6
03000 T1147: BYTE (5) 0,4,9,1,3,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6
03100 BYTE (5) 1,4,7,0,4,10,1,4,5,1,3,4,1,1,4,1,0,5,0,8,6
03200 T1150: BYTE (5) 1,0,13,0,0,9,1,1,10,1,3,10,1,4,9,1,4,6,0,8,6
03300 T1151: BYTE (5) 0,3,12,1,3,11,0,3,10,1,3,7,1,4,6,1,5,6,0,8,6
03400 T1152: BYTE (5) 0,3,12,1,3,11,0,3,10,1,3,5,1,2,4,1,1,3,0,8,6
03500 T1153: BYTE (5) 1,0,13,0,0,8,1,2,10,0,0,8,1,2,6,0,8,6
03600 T1154: BYTE (5) 0,2,6,1,2,13,0,8,6
03700 T1155: BYTE (5) 1,0,10,0,0,9,1,1,10,1,2,10,1,3,9,1,3,6,0,3,9
03800 BYTE (5) 1,4,10,1,5,10,1,6,9,1,6,6,0,8,6
03900 T1156: BYTE (5) 1,0,10,0,0,9,1,1,10,1,2,10,1,3,9,1,3,6,0,8,6
00100 T1157: BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
00200 BYTE (5) 1,1,6,1,0,7,0,8,6
00300 T1160: BYTE (5) 0,0,4,1,0,10,0,0,9,1,1,10,1,3,10,1,4,9,1,4,7
00400 BYTE (5) 1,3,6,1,1,6,1,0,7,0,8,6
00500 T1161: BYTE (5) 0,4,9,1,3,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6
00600 BYTE (5) 1,4,7,0,4,10,1,4,4,0,8,6
00700 T1162: BYTE (5) 1,0,10,0,0,9,1,1,10,1,3,10,1,4,9,0,8,6
00800 T1163: BYTE (5) 0,0,7,1,1,6,1,3,6,1,4,7,1,3,8,1,1,8,1,0,9
00900 BYTE (5) 1,1,10,1,3,10,1,4,9,0,8,6
01000 T1164: BYTE (5) 0,2,13,1,2,7,1,3,6,1,4,6,1,5,7,0,1,11,1,3,11
01100 BYTE (5) 0,8,6
01200 T1165: BYTE (5) 0,0,10,1,0,7,1,1,6,1,3,6,1,4,7,1,4,10,1,4,6
01300 BYTE (5) 0,8,6
01400 T1166: BYTE (5) 0,0,9,1,3,6,1,6,9,0,8,6
01500 T1167: BYTE (5) 0,0,10,1,0,6,1,2,8,1,4,6,1,4,10,0,8,6
01600 T1170: BYTE (5) 1,4,10,0,0,10,1,4,6,0,8,6
01700 T1171: BYTE (5) 0,0,9,1,3,6,0,6,9,1,1,4,1,0,4,0,8,6
01800 T1172: BYTE (5) 0,0,10,1,4,10,1,0,6,1,4,6,0,8,6
01900 T1173: BYTE (5) 0,3,14,1,2,13,1,2,11,1,0,9,1,2,7,1,2,5,1,3,4
02000 BYTE (5) 0,8,6
02100 T1174: BYTE (5) 0,2,4,1,2,14,0,8,6
02200 T1175: BYTE (5) 0,3,6,1,0,9,1,3,12,1,6,9,1,3,6,0,8,6
02300 T1176: BYTE (5) 0,0,14,1,1,13,1,1,11,1,3,9,1,1,7,1,1,5,1,0,4
02400 BYTE (5) 0,8,6
02500 T1177: BYTE (5) 0,0,12,1,6,6,0,8,6
02600 RADIX =8
00100 TX←6
00200 TY←7
00300 TPEN←10
00400 ;SYMBOL ROUTINE. NOTE: ASSUMES ALL STROKES ARE VERTICAL
00500 ;HORIZONTAL, OR SOME 45 DEGREE ANGLE
00600 ;PARAMETERS ARE X,Y,SIZE, ORIENTATION, TEXT, CHAR. COUNT...
00700 INTERNAL SYMBOL↔SYMBOL: 0
00800 MOVEM 16,SV16 ;SAVE RETURN
00900 MOVE 16,@(16)
01000 MOVEM 16,SVX
01100 MOVE 16,SV16
01200 MOVE 16,@1(16)
01300 MOVEM 16,SVY
01400 MOVE 16,SV16
01500 MOVE 16,@2(16)
01600 MOVEM 16,SVSZ#
01700 MOVE 16,SV16
01800 MOVE 16,@3(16)
01900 MOVEM 16,SVOR#
02000 MOVE 16,SV16
02100 MOVE 16,4(16)
02200 MOVEM 16,SVTXT#
02300 MOVE 16,SV16
02400 MOVE 16,@5(16) ;GET MAX CHAR. COUNT.
02500 MOVEM 16,TXTCNT#
02600 MOVE 16,SV16
02700 MOVEM 17,SV17T ;NOW SAVE ACS
02800 MOVEI 17,SV0T
02900 BLT 17,SV0T+16
03000 MOVE 0,SVX
03100 MOVE 1,SVY
03200 MOVEI 2,3
03300 JSA 16,PLOT
03400 0↔1↔2
03500 MOVE 13,SVSZ
03600 JUMPLE 13,ENDTXT
03700 MOVE 14,SVOR
03800 ANDI 14,3 ;MAKE ORIENTATION 0,1,2,OR 3
03900 MOVE 0,SVTXT ;POINTER
04000 HRLI 440700 ;TURN IT INTO A BYTE POINTER
04100 LP1: ILDB 1,0
04200 JUMPE 1,ENDTXT ;0 CHARACTER IS END OF TEXT
04300 SOSGE TXTCNT ;COUNT OUT YET?
04400 JRST ENDTXT ;YES, GO AWAY.
04500 CAIN 1,"↔" ;IS IT BOTHWAYS ARROW
04600 JRST ITSBWA ;YES
04700 MOVE 4,[POINT 5,0] ;READY TO GET BYTES FOR CHARACTER
04800 T1M: HRR 4,TBL1(1) ;GET ADDRESS OF BYTES FOR THIS CHARACTER
04900 T2M: HLRZ 5,TBL1(1) ;GET NUMBER OF STROKES
05000 MOVEI 2,0 ;PRESENT X POS IN MATRIX
05100 MOVEI 3,6 ;Y POS
05200 JUMPE 5,ENDLT ;NO STROKES, IGNORE CHARACTER
05300 OUT1: ILDB TPEN,4 ;GET NEXT 3 BYTES
05400 ILDB TX,4
05500 ILDB TY,4
05600 MOVNS TPEN ;THIS IS 0 UP 1 DOWN
05700 CAMN TPEN,PEN ;OTHER IS 0 UP -1 DOWN
05800 JRST PENK
05900 MOVEM TPEN,PEN ;SAME AS IN PLOT
06000 MOVEI 17,PENDWN
06100 SKIPN TPEN
06200 MOVEI 17,PENUP
06300 MOVEI 16,=60 ;THE TIMING PARAMETER
06400 JSR PLT1
06500 SOJG 16,.-1
06600 PENK: SUB 2,TX ;GET INCREMENTS
06700 SUB 3,TY
06800 JUMPE 2,OUT2 ;IF EITHER 0 USE SPECIAL ROUTINE
06900 JUMPE 3,OUT2
07000 MOVM 16,2 ;GET MAGNITUDES
07100 MOVM 15,3
00100 CAMN 15,16 ;IF NEITHER 0 AND NOT SAME MAGNITUDE
00200 JRST OUT2 ;MUST BE PEN UP, ELSE USE SPECIAL ROUTINE
00300 SETZM 17 ;DECIDE ON MOVEMENTS AS IN PLOT
00400 SKIPGE 2
00500 MOVEI 17,MVRT
00600 SKIPLE 2
00700 MOVEI 17,MVLFT
00800 MOVMS 2
00900 LDB 17,BPTB(14) ;EXCEPT THAT IT IS INFLUENCED BY
01000 ;ORINTATION PARAMETER
01100 MOVE 16,13 ;GET CHARACTER SIZE
01200 JSR PLT1 ;MAKE MOVEMENT
01300 SOJG 16,.-1 ;INCREMENT*SIZE TIMES
01400 SOJG 2,.-3
01500 SETZM 17 ;SAME FOR Y
01600 SKIPGE 3
01700 MOVEI 17,MVUP
01800 SKIPLE 3
01900 MOVEI 17,MVDWN
02000 MOVMS 3
02100 LDB 17,BPTB(14)
02200 MOVE 16,13
02300 JSR PLT1
02400 SOJG 16,.-1
02500 SOJG 3,.-3
02600 JRST OUT3
02700 ITSBWA: MOVE 4,SVY ;GET THE OLD Y VECTOR POSITION
02800 MOVE 5,SVSZ ;GET SIZE
02900 IMULI 5,14 ;LINE OFFSET
03000 SUB 4,5
03100 MOVEM 4,SVY ;FORM NEW Y
03200 JSA 16,PLOT ;MOVE THE PEN THERE
03300 JUMP SVX
03400 JUMP SVY
03500 JUMP [3]
03600 JRST LP1
03700 OUT2: SETZM 17 ;SPECIAL ROUTINE WILL HANDLE 45 DEGREE
03800 SKIPGE 2 ;LINES. FIRST SET UP MOVEMENTS
03900 MOVEI 17,MVRT
04000 SKIPLE 2
04100 MOVEI 17,MVLFT
04200 SKIPGE 3
04300 IORI 17,MVUP ;ONLY THIS TIME OR TOGETHER SINCE
04400 SKIPLE 3 ;ALL STROKES IN SAME DIRECTION
04500 IORI 17,MVDWN
04600 MOVMS 2
04700 MOVMS 3
04800 CAMG 2,3 ;GET LARGER MAGNITUDE FOR COUNT
04900 EXCH 2,3
05000 LDB 17,BPTB(14) ;CORRECT FOR ORIENTATION
05100 MOVE 16,13
05200 JSR PLT1 ;DRAW
05300 SOJG 16,.-1
05400 SOJG 2,.-3
00100 OUT3: MOVE 2,TX ;SAVE NEW X,Y
00200 MOVE 3,TY
00300 SOJG 5,OUT1 ;NEXT STROKE IF THERE IS ONE
00400 ENDLT: IMUL 2,13 ;ADJUST X,Y FOR PLOT
00500 SUBI 3,6
00600 IMUL 3,13
00700 TRNN 14,2
00800 JRST .+3
00900 MOVNS 2
01000 MOVNS 3
01100 TRNN 14,1
01200 JRST .+3
01300 MOVNS 3
01400 EXCH 2,3
01500 ADDM 2,X
01600 ADDM 3,Y
01700 JRST LP1
01800 ENDTXT: HRLZI 17,SV0T ;RESTORE AC'S
01900 BLT 17,16
02000 MOVE 17,SV17T
02100 JRA 16,6(16)
02200 SV0T: BLOCK 17
02300 SV17T: 0
02400 BPTB: FOO←3 ;TABLE TO GET PROPER BITS DEPENDING ON ORIENTATION PARAMETER
02500 REPEAT 4,<POINT 4,BT(17),FOO
02600 FOO←FOO+4>
02700 BT: 0
02800 RT←←<BYTE (4) MVRT,MVUP,MVLFT,MVDWN>
02900 UP←←<BYTE (4) MVUP,MVLFT,MVDWN,MVRT>
03000 LFT←←<BYTE (4) MVLFT,MVDWN,MVRT,MVUP>
03100 DWN←←<BYTE (4) MVDWN,MVRT,MVUP,MVLFT>
03200
03300 RELOC BT+MVRT
03400 RT
03500 RELOC BT+MVLFT
03600 LFT
03700 RELOC BT+MVDWN
03800 DWN
03900 RELOC BT+MVUP
04000 UP
04100 RELOC BT+MVRT+MVUP
04200 RT+UP
04300 RELOC BT+MVRT+MVDWN
04400 RT+DWN
04500 RELOC BT+MVLFT+MVUP
04600 LFT+UP
04700 RELOC BT+MVLFT+MVDWN
04800 LFT+DWN
04900 RELOC BT+20
05000 ;ROUTINE TO ALLOW TSE OF DIFFERENT CHARACTER
05100 ;TABLE
05200 INTERNAL SETABL↔SETABL: 0
05300 MOVEM 17,SV17 ;GET NUMBER OF DESIRED TABLE
05400 MOVE 17,@(16)
05500 SETZM @1(16)
05600 JUMPLE 17,NOGO
05700 CAILE 17,12
05800 JRST NOGO
05900 MOVE 17,CTBL-1(17)
06000 JUMPE 17,NOGO ;NO SUCH TABLE
06100 HRRM 17,T1M ;RESET PARAMETERS IN SYMBOL
06200 HRRM 17,T2M
06300 OKGO: MOVE 17,SV17
06400 JRA 16,2(16)
06500 NOGO: MOVE 17,SV17 ;GIVE ERROR INDICATION
06600 SETOM @1(16)
06700 JRA 16,2(16)
00100
00200 CTBL: TBL1 ;LINE PRINTER CHARACTER SET
00300 PLOTC ;RUSSIAN OR 0 IF NOT LOADED
00400 PLOTF ;FAENORIAN OR 0 IF NOT LOADED
00500 0↔0↔0↔0↔0↔0↔0
00600 ;ROUTINE TO ALLOW NEW TABLE TO BE CREATED
00700 ;GIVEN NUMBER AND POINTER TO NEW TABLE
00800 INTERNAL MKTBL↔MKTBL: 0
00900 MOVEM 17,SV17
01000 MOVE 17,@(16)
01100 CAILE 17,12
01200 JRST FOOT ;NUMBER OUT OF RANGE
01300 SKIPG 17
01400 JRST FOOT
01500 MOVEM 17,SVTB#
01600 MOVE 17,SV17
01700 MOVE 17,@1(16)
01800 EXCH 1,SVTB
01900 MOVEM 17,CTBL-1(1) ;PUT IN POINTER
02000 MOVE 1,SVTB
02100 MOVE 17,SV17
02200 JRA 16,2(16)
02300 FOOT: MOVE 17,SV17
02400 SETZM @(16)
02500 ;ROUTINE TO GIVE BACK CURRENT X,Y POSITION
02600 INTERNAL WHERE↔WHERE: 0
02700 MOVEM 17,SV17 ;SAVE AC'S
02800 MOVEI 17,SV0
02900 BLT 17,SV0+16
03000 MOVE 1,1(16)
03100 MOVEM 1,SVY#
03200 MOVE 1,SV0+1
03300 MOVE 1,(16)
03400 MOVE 2,X
03500 CAILE 1,17 ;IF ONE OF AC'S SPECIFIED
03600 JRST OKXPT ;PUT IT IN THE TEMP STORAGE LOCATION
03700 MOVEM 2,SV0(1)
03800 SKIPA
03900 OKXPT: MOVEM 2,(1)
04000 MOVE 1,SVY
04100 MOVE 2,Y
04200 CAILE 1,17
04300 JRST OKYPT
04400 MOVEM 2,SV0(1)
04500 SKIPA
04600 OKYPT: MOVEM 2,(1)
04700 HRLZI 17,SV0
04800 BLT 17,16
04900 MOVE 17,SV17
05000 JRA 16,2(16)
00100 PLOTF
00200 PLOTF: XWD 0,0
00300 XWD 6,T11
00400 XWD 11,T12
00500 XWD 17,T13
00600 XWD 4,T14
00700 XWD 4,T15
00800 XWD 13,T16
00900 XWD 7,T17
01000 XWD 5,T110
01100 XWD 13,T111
01200 XWD 15,T112
01300 XWD 11,T113
01400 XWD 7,T114
01500 XWD 16,T115
01600 XWD 14,T116
01700 XWD 14,T117
01800 XWD 7,T120
01900 XWD 7,T121
02000 XWD 7,T122
02100 XWD 7,T123
02200 XWD 11,T124
02300 XWD 6,T125
02400 XWD 15,T126
02500 XWD 11,T127
02600 XWD 3,T130
02700 XWD 6,T131
02800 XWD 5,T132
02900 XWD 6,T133
03000 XWD 5,T134
03100 XWD 5,T135
03200 XWD 7,T136
03300 XWD 4,T137
03400 XWD 1,SP
03500 XWD 5,LCR
03600 XWD 3,UDOT
03700 XWD 7,SCR
03800 XWD 21,OFTHE
03900 XWD 14,FQA
04000 REPEAT 4,<XWD 0,0>
04100 XWD 17,OF
04200 XWD 11,FHW
04300 XWD 11,F12
04400 XWD 3,OVBR
04500 XWD 11,F11
04600 XWD 17,THE
04700 XWD 12,F0
04800 XWD 11,FTH
04900 XWD 11,FSH
05000 XWD 12,FKH
05100 XWD 17,FDH
05200 XWD 17,FZH
05300 XWD 17,FGH
05400 XWD 17,F7
05500 XWD 17,F8
05600 XWD 11,F9
05700 XWD 5,FOLY
00100 XWD 16,MODR
00200 XWD 13,ALTS
00300 XWD 0,0
00400 XWD 25,ALTZ
00500 XWD 0,0
00600 XWD 0,0
00700 ;BEGIN ALPHABET
00800 REPEAT 2,<
00900 XWD 0,0 ;CHAR 100
01000 XWD 7,FA
01100 XWD 16,FB
01200 XWD 11,FC
01300 XWD 16,FD
01400 XWD 3,FE
01500 XWD 12,FF
01600 XWD 16,FG
01700 XWD 6,FH
01800 XWD 3,FI
01900 XWD 17,FJ
02000 XWD 11,FK
02100 XWD 10,FL
02200 XWD 17,FM
02300 XWD 17,FN
02400 XWD 12,FO
02500 XWD 11,FP
02600 XWD 14,FQ
02700 XWD 14,FR
02800 XWD 13,FS
02900 XWD 10,FT
03000 XWD 12,FU
03100 XWD 17,FV
03200 XWD 12,FW
03300 XWD 11,FX
03400 XWD 7,FY
03500 XWD 25,FZ
03600 REPEAT 6,<XWD 0,0>
03700 >
00100 RADIX =10
00200 FSH: BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,6,21
00300 BYTE (5) 1,6,6,0,11,6
00400 FKH: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,0,13,1,6,13
00500 BYTE (5) 0,6,21,1,6,6,0,11,6
00600 FDH: BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
00700 BYTE (5) 1,4,4,0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4
00800 BYTE (5) 0,17,6
00900 FV: BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
01000 BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
01100 BYTE (5) 0,17,6
01200 FZH: BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13
01300 BYTE (5) 1,8,15,0,6,8,1,8,6,1,10,6,1,12,8,0,12,21,1,12,6
01400 BYTE (5) 0,17,6
01500 FGH: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,6,8
01600 BYTE (5) 1,8,6,1,10,6,1,12,8,0,0,13,1,12,13,0,12,21,1,12,6
01700 BYTE (5) 0,17,6
01800 F9: BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
01900 BYTE (5) 1,4,4,0,11,6
02000 F0: BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
02100 BYTE (5) 0,0,6,1,7,6,0,11,6
02200 FT: BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,1,4,4
02300 BYTE (5) 0,11,6
02400 FP: BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,0,0,6
02500 BYTE (5) 1,7,6,0,11,6
02600 FC: BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,6,15
02700 BYTE (5) 1,6,0,0,11,6
02800 FK: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,0,13,1,6,13
02900 BYTE (5) 1,6,0,0,11,6
03000 FD: BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,1,4,4
03100 BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4,0,17,6
03200 FB: BYTE (5) 0,0,0,1,0,11,1,2,13,1,4,13,1,6,11,1,6,6,0,6,11
03300 BYTE (5) 1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6,0,17,6
03400 FJ: BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13
03500 BYTE (5) 1,8,15,0,6,8,1,8,6,1,10,6,1,12,8,0,12,15,1,12,0
03600 BYTE (5) 0,17,6
03700 FG: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,6,8
03800 BYTE (5) 1,8,6,1,10,6,1,12,8,0,0,13,1,12,13,1,12,0,0,17,6
03900 FTH: BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
04000 BYTE (5) 1,4,4,0,11,6
04100 FF: BYTE (5) 0,0,21,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
04200 BYTE (5) 0,0,6,1,7,6,0,11,6
00100 ALTS: BYTE (5) 0,4,15,1,0,11,1,0,8,1,2,6,1,4,6,1,6,8,1,6,10
00200 BYTE (5) 1,4,12,1,3,12,1,2,11,0,11,6
00300 FS: BYTE (5) 0,4,7,1,3,6,1,2,6,1,0,8,1,0,10,1,2,12,1,4,12
00400 BYTE (5) 1,6,10,1,6,7,1,2,3,0,11,6
00500 ALTZ: BYTE (5) 0,4,16,1,0,12,1,0,9,1,2,7,1,4,7,1,6,9,1,6,11
00600 BYTE (5) 1,4,13,1,3,13,1,2,12,0,2,7,1,0,5,1,0,2,1,2,0
00700 BYTE (5) 1,4,0,1,6,2,1,6,4,1,4,6,1,3,6,1,2,5,0,11,6
00800 FZ: BYTE (5) 0,2,0,1,6,4,1,6,7,1,4,9,1,2,9,1,0,7,1,0,5
00900 BYTE (5) 1,2,3,1,3,3,1,4,4,0,4,9,1,6,11,1,6,14,1,4,16
01000 BYTE (5) 1,2,16,1,0,14,1,0,12,1,2,10,1,3,10,1,4,11,0,11,6
01100 FU: BYTE (5) 0,0,16,1,3,19,1,4,19,1,5,18,1,5,17,1,4,16,1,3,16
01200 BYTE (5) 1,2,17,1,2,18,0,0,6
01300 FO: BYTE (5) 0,3,18,1,3,17,1,2,16,1,1,16,1,0,17,1,0,18,1,1,19
01400 BYTE (5) 1,2,19,1,5,16,0,0,6
01500 FI: BYTE (5) 0,3,16,1,3,18,0,0,6
01600 FE: BYTE (5) 0,2,16,1,5,19,0,0,6
01700 FA: BYTE (5) 0,1,16,1,1,18,0,3,18,1,3,20,0,5,16,1,5,18,0,0,6
01800 FOLY: BYTE (5) 0,2,16,1,2,18,0,4,16,1,4,18,0,0,6
01900 OVBR: BYTE (5) 0,1,16,1,5,16,0,0,6
02000 OF: BYTE (5) 0,0,21,1,0,0,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
02100 BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
02200 BYTE (5) 0,17,6
02300 OFTHE: BYTE (5) 0,0,21,1,0,0,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
02400 BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
02500 BYTE (5) 0,0,3,1,6,3,0,17,6
02600 THE: BYTE (5) 0,0,21,1,0,0,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
02700 BYTE (5) 1,4,4,0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4
02800 BYTE (5) 0,17,6
02900 SCR: BYTE (5) 0,7,12,1,2,12,1,0,10,1,0,6,1,2,4,1,7,4,0,12,6
03000 UDOT: BYTE (5) 0,5,2,1,5,0,0,0,6
03100 LCR: BYTE (5) 0,5,12,1,5,4,1,2,1,1,0,1,0,11,6
03200 FW: BYTE (5) 0,0,8,1,2,6,1,4,6,1,6,8,1,6,10,1,4,12,1,2,12
03300 BYTE (5) 1,0,10,1,0,8,0,11,6
03400 FR: BYTE (5) 0,0,11,1,5,6,0,4,13,1,6,15,1,8,15,1,10,13,1,10,11
03500 BYTE (5) 1,2,3,1,2,1,1,3,0,1,5,0,0,15,6
03600 MODR: BYTE (5) 0,0,11,1,5,6,0,4,13,1,6,15,1,8,15,1,10,13,1,10,11
03700 BYTE (5) 1,2,3,1,2,1,1,3,0,1,5,0,0,4,8,1,1,5,0,15,6
03800 FH: BYTE (5) 0,0,15,1,9,6,1,11,6,0,5,10,1,1,6,0,17,6
03900 FY: BYTE (5) 0,1,12,1,3,12,1,9,6,1,11,6,0,5,10,1,1,6,0,17,6
04000 FL: BYTE (5) 0,0,11,1,12,11,0,6,11,1,3,8,1,3,4,1,6,1,1,9,1
04100 BYTE (5) 0,17,6
04200 FX: BYTE (5) 0,0,11,1,9,11,0,5,11,1,3,9,1,3,7,1,5,5,1,5,3
04300 BYTE (5) 1,3,1,0,14,6
00100 F11: BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,6,15
00200 BYTE (5) 1,6,6,0,11,6
00300 F12: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,0,0,13,1,6,13
00400 BYTE (5) 1,6,6,0,11,6
00500 FN: BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
00600 BYTE (5) 1,4,4,0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,1,10,4
00700 BYTE (5) 0,17,6
00800 FM: BYTE (5) 0,0,13,1,0,6,0,0,11,1,2,13,1,4,13,1,6,11,1,6,6
00900 BYTE (5) 0,6,11,1,8,13,1,10,13,1,12,11,1,12,6,0,0,6,1,13,6
01000 BYTE (5) 0,17,6
01100 F7: BYTE (5) 0,2,15,1,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13
01200 BYTE (5) 1,8,15,0,6,8,1,8,6,1,10,6,1,12,8,0,12,15,1,12,6
01300 BYTE (5) 0,17,6
01400 F8: BYTE (5) 0,0,13,1,0,8,1,2,6,1,4,6,1,6,8,1,6,13,0,6,8
01500 BYTE (5) 1,8,6,1,10,6,1,12,8,0,0,13,1,12,13,1,12,6,0,17,6
01600 SP: BYTE (5) 0,17,6
01700 FHW: BYTE (5) 0,6,18,1,6,6,0,6,12,1,2,12,1,0,10,1,0,8,1,2,6
01800 BYTE (5) 1,9,6,0,14,6
01900 FQ: BYTE (5) 0,0,16,1,2,18,0,2,16,1,2,20,1,3,21,1,4,21,1,5,20
02000 BYTE (5) 1,5,19,1,4,18,1,3,18,1,2,19,0,0,6
02100 FQA: BYTE (5) 0,1,16,1,3,18,0,3,16,1,3,20,1,2,21,1,1,21,1,0,20
02200 BYTE (5) 1,0,19,1,1,18,1,2,18,1,3,19,0,0,6
00100 PLOTC
00200 T21: BYTE (5) 1,0,12,1,2,14,1,4,14,1,6,12,1,6,6,0,6,9,1,0,9
00300 BYTE (5) 0,8,6
00400 T22: BYTE (5) 1,0,14,1,4,14,0,0,10,1,3,10,1,4,9,1,4,7,1,3,6
00500 BYTE (5) 1,0,6,0,8,6
00600 T23: BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,0,5,10
00700 BYTE (5) 1,6,9,1,6,7,1,5,6,1,0,6,0,8,6
00800 T24: BYTE (5) 1,0,14,1,5,14,1,5,12,0,8,6
00900 T25: BYTE (5) 1,0,7,1,2,9,1,2,14,1,6,14,1,6,6,1,6,7,1,0,7
01000 BYTE (5) 0,8,6
01100 T26: BYTE (5) 1,0,14,1,6,14,0,4,10,1,0,10,0,0,6,1,6,6,0,8,6
01200 T27: BYTE (5) 1,0,14,1,6,14,0,4,10,1,0,10,0,0,6,1,6,6,0,2,15
01300 BYTE (5) 1,2,16,0,4,16,1,4,15,0,8,6
01400 T210: BYTE (5) 1,4,10,1,0,14,0,4,10,1,7,10,1,11,14,0,5,14,1,5,6
01500 BYTE (5) 0,11,6,1,7,10,0,13,6
01600 T211: BYTE (5) 0,0,7,1,1,6,1,3,6,1,4,7,1,4,9,1,3,10,1,2,10
01700 BYTE (5) 1,3,10,1,4,11,1,4,13,1,3,14,1,1,14,1,0,13,0,8,6
01800 T212: BYTE (5) 0,0,14,1,0,6,1,0,7,1,6,13,1,6,14,1,6,6,0,8,6
01900 T213: BYTE (5) 1,0,14,0,0,7,1,6,13,0,6,6,1,6,14,0,2,15,1,3,14,1,4,15,0,8,6
02000 T214: BYTE (5) 0,1,6,1,1,14,0,1,10,1,5,14,0,1,10,1,5,6,0,8,6
02100 T215: BYTE (5) 1,1,6,1,2,7,1,2,14,1,6,14,1,6,6,0,8,6
02200 T216: BYTE (5) 1,0,14,1,3,11,1,6,14,1,6,6,0,8,6
02300 T217: BYTE (5) 1,0,14,0,0,10,1,6,10,0,6,14,1,6,6,0,8,6
02400 T220: BYTE (5) 0,0,8,1,0,12,1,2,14,1,4,14,1,6,12,1,6,8,1,4,6
02500 BYTE (5) 1,2,6,1,0,8,0,8,6
02600 T221: BYTE (5) 1,0,14,1,6,14,1,6,6,0,8,6
02700 T222: BYTE (5) 1,0,14,1,5,14,1,6,13,1,6,11,1,5,10,1,0,10,0,8,6
02800 T223: BYTE (5) 0,6,13,1,5,14,1,2,14,1,0,12,1,0,8,1,2,6,1,5,6
02900 BYTE (5) 1,6,7,0,8,6
03000 T224: BYTE (5) 0,3,6,1,3,14,0,0,14,1,6,14,0,8,6
03100 T225: BYTE (5) 0,0,14,1,3,11,1,6,14,0,3,11,1,3,6,0,8,6
03200 T226: BYTE (5) 0,0,9,1,0,11,1,2,13,1,4,13,1,6,11,1,6,9,1,4,7
03300 BYTE (5) 1,2,7,1,0,9,0,3,14,1,3,6,0,8,6
03400 T227: BYTE (5) 1,0,7,1,6,13,1,6,14,0,0,14,1,0,13,1,6,7,1,6,6,0,8,6
03500 T230: BYTE (5) 0,0,14,1,0,6,1,3,6,1,3,14,0,3,6,1,4,5,0,8,6
03600 T231: BYTE (5) 0,0,14,1,0,12,1,1,11,1,4,11,0,4,14,1,4,6,0,8,6
03700 T232: BYTE (5) 0,0,14,1,0,6,1,3,6,1,3,14,0,3,6,1,6,6,1,6,14
03800 BYTE (5) 0,8,6
03900 T233: BYTE (5) 0,0,14,1,0,6,1,3,6,1,3,14,0,3,6,1,6,6,1,6,14
04000 BYTE (5) 0,6,6,1,7,5,0,9,6
00100 T237: BYTE (5) 0,0,13,1,1,14,1,4,14,1,6,12,1,6,8,1,4,6,1,1,6
00200 BYTE (5) 1,0,7,0,6,10,1,3,10,0,8,6
00300 T240: BYTE (5) 1,0,14,0,0,10,1,2,10,1,2,13,1,3,14,1,5,14,1,6,13
00400 BYTE (5) 1,6,7,1,5,6,1,3,6,1,2,7,1,2,10,0,8,6
00500 T241: BYTE (5) 0,6,6,1,6,14,1,1,14,1,0,13,1,0,11,1,1,10,1,6,10
00600 BYTE (5) 0,4,10,1,0,6,0,8,6
00700 T2101: BYTE (5) 0,0,9,1,1,10,1,3,10,1,4,9,1,4,6,0,4,8,1,3,9
00800 BYTE (5) 1,1,9,1,0,8,1,0,7,1,1,6,1,3,6,1,4,7,0,8,6
00900 T2102: BYTE (5) 0,0,8,1,1,9,1,3,9,1,4,8,1,4,7,1,3,6,1,1,6
01000 BYTE (5) 1,0,7,1,0,10,1,2,12,1,3,12,1,4,11,0,8,6
01100 T2103: BYTE (5) 1,0,10,1,3,10,1,4,9,1,3,8,1,0,8,0,3,8,1,4,7
01200 BYTE (5) 1,3,6,1,0,6,0,8,6
01300 T2104: BYTE (5) 1,0,10,1,3,10,1,3,9,0,8,6
01400 T2105: BYTE (5) 1,0,7,1,1,8,1,1,10,1,4,10,1,4,6,1,4,7,1,0,7
01500 BYTE (5) 0,8,6
01600 T2106: BYTE (5) 0,0,8,1,4,8,1,4,9,1,3,10,1,1,10,1,0,9,1,0,7
01700 BYTE (5) 1,1,6,1,3,6,1,4,7,0,8,6
01800 T2107: BYTE (5) 0,0,8,1,4,8,1,4,9,1,3,10,1,1,10,1,0,9,1,0,7
01900 BYTE (5) 1,1,6,1,3,6,1,4,7,0,1,11,1,1,12,0,3,12,1,3,11
02000 BYTE (5) 0,8,6
02100 T2110: BYTE (5) 1,2,8,1,0,10,0,3,10,1,3,6,0,6,6,1,4,8,1,6,10
02200 BYTE (5) 0,2,8,1,4,8,0,8,6
02300 T2111: BYTE (5) 0,0,9,1,1,10,1,3,10,1,4,9,1,3,8,1,2,8,0,3,8
02400 BYTE (5) 1,4,7,1,3,6,1,1,6,1,0,7,0,8,6
02500 T2112: BYTE (5) 0,0,10,1,0,6,1,4,10,1,4,6,0,8,6
02600 T2113: BYTE (5) 0,0,10,1,0,6,1,4,10,1,4,6,0,1,12,1,2,11,1,3,12
02700 BYTE (5) 0,8,6
02800 T2114: BYTE (5) 1,0,10,0,2,10,1,0,8,1,2,6,0,8,6
02900 T2115: BYTE (5) 1,1,6,1,2,7,1,2,10,1,4,10,1,4,6,0,8,6
03000 T2116: BYTE (5) 1,0,10,1,2,8,1,4,10,1,4,6,0,8,6
03100 T2117: BYTE (5) 1,0,10,0,4,10,1,4,6,0,4,8,1,0,8,0,8,6
03200 T2120: BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
03300 BYTE (5) 1,1,6,1,0,7,0,8,6
03400 T2121: BYTE (5) 1,0,10,1,4,10,1,4,6,0,8,6
03500 T2122: BYTE (5) 1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6,1,1,6
03600 BYTE (5) 1,0,7,1,0,4,0,8,6
03700 T2123: BYTE (5) 0,4,9,1,3,10,1,1,10,1,0,9,1,0,7,1,1,6,1,3,6
03800 BYTE (5) 1,4,7,0,8,6
03900 T2124: BYTE (5) 0,0,10,1,4,10,0,2,10,1,2,6,0,8,6
04000 T2125: BYTE (5) 0,0,9,1,3,6,0,6,9,1,1,4,1,0,4,0,8,6
04100 T2126: BYTE (5) 0,0,7,1,0,9,1,1,10,1,3,10,1,4,9,1,4,7,1,3,6
04200 BYTE (5) 1,1,6,1,0,7,0,2,11,1,2,5,0,8,6
04300 T2127: BYTE (5) 1,4,10,0,0,10,1,4,6,0,8,6
00100 T2130: BYTE (5) 0,0,10,1,0,6,1,2,6,1,2,10,0,2,6,1,3,5,0,8,6
00200 T2131: BYTE (5) 0,0,10,1,0,9,1,1,8,1,3,8,0,3,10,1,3,6,0,8,6
00300 T2132: BYTE (5) 0,0,10,1,0,6,1,2,6,1,2,10,0,2,6,1,4,6,1,4,10
00400 BYTE (5) 0,8,6
00500 T2133: BYTE (5) 0,0,10,1,0,6,1,2,6,1,2,10,0,2,6,1,4,6,1,4,10
00600 BYTE (5) 0,4,6,1,5,5,0,8,6
00700 T2134: BYTE (5) 0,0,10,1,0,11,1,2,11,1,2,6,1,3,6,1,4,7,1,4,8
00800 BYTE (5) 1,3,9,1,2,9,0,8,6
00900 T2135: BYTE (5) 0,0,11,1,0,6,1,1,6,1,2,7,1,2,8,1,1,9,1,0,9
01000 BYTE (5) 0,3,6,1,3,11,0,8,6
01100 T2136: BYTE (5) 0,0,11,1,0,6,1,1,6,1,2,7,1,2,8,1,1,9,1,0,9
01200 BYTE (5) 0,8,6
01300 T2137: BYTE (5) 0,0,7,1,1,6,1,3,6,1,4,7,1,4,9,1,3,10,1,1,10
01400 BYTE (5) 1,0,9,0,4,8,1,2,8,0,8,6
01500 T2140: BYTE (5) 1,0,10,0,0,8,1,2,8,1,2,9,1,3,10,1,4,9,1,4,7
01600 BYTE (5) 1,3,6,1,2,7,1,2,8,0,8,6
01700 T2141: BYTE (5) 0,4,6,1,4,10,1,1,10,1,0,9,1,1,8,1,4,8,0,2,8
01800 BYTE (5) 1,0,6,0,8,6
01900 T2142: BYTE (5) 0,8,6
00100 RADIX =8
00200 PLOTC: XWD 0,0
00300 XWD 10,T21
00400 XWD 11,T22
00500 XWD 14,T23
00600 XWD 4,T24
00700 XWD 10,T25
00800 XWD 7,T26
00900 XWD 13,T27
01000 XWD 12,T210
01100 XWD 16,T211
01200 XWD 7,T212
01300 XWD 11,T213
01400 XWD 7,T214
01500 XWD 6,T215
01600 XWD 5,T216
01700 XWD 6,T217
01800 XWD 12,T220
01900 XWD 4,T221
02000 XWD 7,T222
02100 XWD 11,T223
02200 XWD 5,T224
02300 XWD 6,T225
02400 XWD 14,T226
02500 XWD 10,T227
02600 XWD 7,T230
02700 XWD 7,T231
02800 XWD 10,T232
02900 XWD 12,T233
03000 0↔0↔0
03100 XWD 13,T237
03200 XWD 15,T240
03300 XWD 12,T241
03400 REPEAT 37,<XWD 0,0>
03500 XWD 16,T2101
03600 XWD 15,T2102
03700 XWD 12,T2103
03800 XWD 4,T2104
03900 XWD 10,T2105
04000 XWD 13,T2106
04100 XWD 17,T2107
00100 XWD 12,T2110
00200 XWD 14,T2111
00300 XWD 5,T2112
00400 XWD 10,T2113
00500 XWD 5,T2114
00600 XWD 6,T2115
00700 XWD 5,T2116
00800 XWD 6,T2117
00900 XWD 12,T2120
01000 XWD 4,T2121
01100 XWD 12,T2122
01200 XWD 11,T2123
01300 XWD 5,T2124
01400 XWD 6,T2125
01500 XWD 14,T2126
01600 XWD 4,T2127
01700 XWD 7,T2130
01800 XWD 7,T2131
01900 XWD 10,T2132
02000 XWD 12,T2133
02100 XWD 12,T2134
02200 XWD 12,T2135
02300 XWD 10,T2136
02400 XWD 13,T2137
02500 XWD 13,T2140
02600 XWD 11,T2141
02700 XWD 1,T2142
02800 REPEAT 36,<XWD 0,0>
02900 END